//package com.lhb.aop;
//
//import java.lang.reflect.Method;
//
///**
// * @Program: spring
// * @Description:
// * @Author: LHB
// * @Version: v0.0.1
// * @Time: 2021-08-19 13:39
// **/
//public class MainAop {
//    public static void main(String[] args) {
//        // 切点表达式
//        String pointCutExpression="execution(* com.lhb.aop.*(..))";
//
//        AspectJExpressionPointcut expressionPointcut=new AspectJExpressionPointcut(pointCutExpression);
//
//        // 需要检查的类
//        Class<?> checkClass= SimpleCalculate.class;
//
//        // 如果表达式未明确到类， 粗筛会通过
//        if(expressionPointcut.rougthMatches(checkClass)){
//            System.out.println("粗筛通过");
//            for (Method method : checkClass.getMethods()) {
//
//                if(expressionPointcut.accurateMatches(method)){
//                    System.out.println("精筛通过");
//                    return;
//                }
//            }
//
//            System.out.println("精筛未通过");
//        }
//        else
//        {
//
//            System.out.println("粗筛未通过");
//        }
//    }
//}
